Skip to content

Conversation

@jueunk617
Copy link
Collaborator

📌 개요

  • 채팅 도메인의 API 역할을 명확히 하고, 코드 구조를 개선하여 유지보수성과 안정성을 높이는 리팩토링을 진행했습니다.

🔨 작업 내용

  • 채팅 삭제 API 단일화: REST API와 WebSocket에 중복으로 존재하던 채팅 일괄 삭제 기능을 REST API(DELETE /api/rooms/{roomId}/messages)로 단일화했습니다. WebSocket을 통한 삭제 로직은 제거하여 API의 역할을 명확히 했습니다.

  • DTO 역할 분리: 기존의 RoomChatMessageDto를 요청용(RoomChatMessageRequest)과 응답용(RoomChatMessageResponse)으로 분리하여 각 DTO의 책임을 명확히 했습니다.

  • 불필요한 필드 제거: 프론트엔드 요구사항에 맞춰 채팅 기능에서 사용하지 않는 attachmentmessageType 관련 필드와 로직을 모두 제거하여 코드를 간소화했습니다.

  • 예외 처리 통일: RoomChatService에서 SecurityException을 던지던 부분을 프로젝트 표준인 CustomException으로 변경하여 예외 처리의 일관성을 확보했습니다.

🔗 관련 이슈

Closes #228

📝 참고 사항

  • 채팅 삭제 후 모든 멤버에게 알림을 보내는 WebSocket 로직은 현재 기획에 불필요하다고 판단되어 컨트롤러에서 완전히 제거했습니다.
  • 변경된 내용에 맞춰 RoomChatWebSocketControllerTestRoomChatServiceTest 테스트 코드를 모두 수정했습니다.

✅ 체크리스트

  • 기능 동작 확인
  • 테스트 코드 작성
  • 문서/주석 추가 및 최신화

@github-actions github-actions bot changed the title Refactor: 채팅 도메인 리팩토링 Refactor: 채팅 도메인 리팩토링 (#228) Oct 10, 2025
@jueunk617 jueunk617 merged commit 26c0526 into dev Oct 11, 2025
3 checks passed
@github-actions github-actions bot deleted the Refactor/228 branch October 11, 2025 07:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants